<template>
	<div class="wrapper">

		<!-- header部分 -->
		<header>
			<p>地址管理</p>
		</header>

		<!-- 地址列表部分 -->
		<ul class="addresslist">
			<li v-for="(d, index) in deliveryAddress" :key="d.daId">
				<div class="addresslist-left" @click="jumpBack(d.daId)">
					<h3>{{ d.contactName }} {{ d.contactTel }}</h3>
					<p>{{ d.address }}</p>
				</div>
				<div class="addresslist-right">
					<i class="fa fa-edit" @click="updateDeliveryAddress(index)"></i>
					<i class="fa fa-remove" @click="removeDeliveryAddress(index)"></i>
				</div>
			</li>
		</ul>

		<!-- 新增地址部分 -->
		<div class="addbtn" @click="jumpToAddUserAddress">
			<i class="fa fa-plus-circle"></i>
			<p>新增收货地址</p>
		</div>

		<!-- 底部菜单部分 -->
		<Footer></Footer>
	</div>
</template>

<script>
import Footer from '../components/Footer.vue';

export default {
	name: 'UserAddress',
	data() {
		return {
			deliveryAddress: []
		}
	},
	created() {
		this.listDeliveryAddressByUserId();
	},
	components: {
		Footer
	},
	filters: {

	},
	methods: {
		// 更新地址
		updateDeliveryAddress(index){
			// console.log(this.deliveryAddress[index].daId);
			this.$router.push({
				path: '/editUserAddress',
				query: {
					daId: this.deliveryAddress[index].daId
				}
			});
		},

		// 删除地址
		async removeDeliveryAddress(index){
			let daId = this.deliveryAddress[index].daId;
			let url = '/DeliveryAddressController/removeDeliveryAddress' + '?daId=' + daId;
			let {data} = await this.$axios.post(url);
			if(data==1){
				// 删除成功,更新数据
				this.deliveryAddress.splice(index,1);
			}else{
				alert('删除失败');
			}
		},

		// 选择地址后返回到订单页面
		jumpBack(daId) {
			this.$router.push({
				path: '/orders',
				query: {
					daId: daId,
					businessId: this.$route.query.businessId
				}
			});
		},

		// 获取用户及用户地址信息
		listDeliveryAddressByUserId: function () {
			let that = this;
			let { userId } = this.$sessionGet();
			let url = 'DeliveryAddressController/listDeliveryAddressByUserId' + '?userId=' + userId;
			this.$axios.get(url)
				.then(resp => {
					that.deliveryAddress = resp.data;
					// console.log(resp.data);

				})
				.catch(err => {
					console.log(err);
				})
		},

		// 跳转到新增用户地址页面
		jumpToAddUserAddress: function () {
			this.$router.push('/addUserAddress');
		}
	}
}
</script>

<style scoped="scoped">
/*************** 总容器 ***************/
.wrapper {
	width: 100%;
	height: 100%;
	background-color: #F5F5F5;
}

/*************** header ***************/
.wrapper header {
	width: 100%;
	height: 12vw;
	background-color: #0097FF;
	display: flex;
	justify-content: space-around;
	align-items: center;
	color: #fff;
	font-size: 4.8vw;
	position: fixed;
	left: 0;
	top: 0;
	/*保证在最上层*/
	z-index: 1000;
}

/*************** addresslist ***************/
.wrapper .addresslist {
	width: 100%;
	margin-top: 12vw;
	background-color: #fff;
}

.wrapper .addresslist li {
	width: 100%;
	box-sizing: border-box;
	border-bottom: solid 1px #DDD;
	padding: 3vw;

	display: flex;
}

.wrapper .addresslist li .addresslist-left {
	flex: 5;
	/*左边这块区域是可以点击的*/
	user-select: none;
	cursor: pointer;
}

.wrapper .addresslist li .addresslist-left h3 {
	font-size: 4.6vw;
	font-weight: 300;
	color: #666;
}

.wrapper .addresslist li .addresslist-left p {
	font-size: 4vw;
	color: #666;
}

.wrapper .addresslist li .addresslist-right {
	flex: 1;
	font-size: 5.6vw;
	color: #999;
	cursor: pointer;

	display: flex;
	justify-content: space-around;
	align-items: center;
}

/*************** 新增地址部分 ***************/
.wrapper .addbtn {
	width: 100%;
	height: 14vw;
	border-top: solid 1px #DDD;
	border-bottom: solid 1px #DDD;
	background-color: #fff;
	margin-top: 4vw;

	display: flex;
	justify-content: center;
	align-items: center;

	font-size: 4.5vw;
	color: #0097FF;
	user-select: none;
	cursor: pointer;
}

.wrapper .addbtn p {
	margin-left: 2vw;
}
</style>